/* eslint-disable no-unused-vars */

//1. 数组求和及平均值
/*
let arr1 = [7, 2, 1, 17, 23];
function f(a,b){
return a+b
}
let sum=arr1.reduce(f)
console.log('和为',sum,',平均值为',sum/arr1.length);
*/
/*
2. 求数组[12,52,12,7,123,5,17]中的最大值。Math.max()
let a=[12,52,12,7,123,5,17],m
a.forEach(function(v,i){
if(i==0)m=v
if(m<a[i+1])m=a[i+1]
})
console.log(m);
*/

/*
3. 将数组 ['red', 'green', 'blue', 'pink'] 里面的元素转换为字符串, 输出“redgreenbluepink”
let a=['red', 'green', 'blue', 'pink']
console.log(a.join(""));
*/

/*
4. 将数组 ['red', 'green', 'blue', 'pink'] 转换为字符串，并且用 | 或其他符号分割, 输出: 'red|green|blue|pink'
let a=['red', 'green', 'blue', 'pink']
console.log(a.join("|"));
*/

/*
5. 把数组[2,5,6,7,8]中的每一位数字都增加30%，并返回一个新数组
let a=[2,5,6,7,8]
console.log(a.map(function(v){
return 1.3*v
}));
*/
/*
6. 编写函数has(arr, 20) 判断数组中是否存在20这个元素，返回布尔类型
var a=[]
function has(arr,n){
return arr.includes(n)
}
console.log(has(a,20))
*/

//7. 根据数组中对比age的年龄, 从大到小排序
var arr7 = [
{age: 19, name:'a'},
{age: 50, name:'b'},
{age: 12, name:'c'},
{age: 25, name:'d'}
]
/*11111111111
var t={}
for (let i = 0; i < arr7.length-1; i++) {
    if(arr7[i].age<arr7[i+1].age){
    t=arr7[i]
    arr7[i]=arr7[i+1]
    arr7[i+1]=t
    }
}*/
/*2222222222222
arr7.sort(function(a,b){
    return b.age-a.age
})*/
//console.log(arr7)
/*
8. 改变传入的数组，将数组中第 n(从 0 开始算 ) 个元素放到数组的开头
let a=[1,2,'a',1,5,7,3],n=2
a.unshift(a.splice(n,1)[0])
console.log(a);
*/

/*
9. 将 函数中的arguments 对象转换成真正的数组
var a=[]
for (let i=0;i<arguments.length;i++){
a[i]=arguments[i]
}
*/

/*
10. 如何实现一个数组push方法
function push(arr){
for (let i=1;i<arguments.length;i++){
arr.length++
arr[arr.length-1]=arguments[i]
}
console.log(arr);
return arr.length
}
push(['a'],1,2,3)
*/


//11. 数组去重的方法 (4种)////////////////////////////////////
var a=[1,2,1,4,2,'1',2]
//法一:排序后删除
/*
var aa=a.sort()
aa.forEach(function (v){
    if(aa.indexOf(v)!=aa.lastIndexOf(v)){
    aa.splice(aa.indexOf(v),aa.lastIndexOf(v)-aa.indexOf(v))
    }
})
console.log(aa);
*/
//法二:includes/reduce
/*
let b=a.reduce(function (t,v){
    if(!t.includes(v)){
    t.push(v)
    }
    return t
},[])
console.log(b);
*/
//4.过滤
/*
console.log(a.filter(function (v,i){
return i==a.indexOf(v)
})
)
*/
//6.利用set对象的键值唯一性

